function F_recons = BB98d_forcing_month2high_reso(F_mon)

    P.N_yr = numel(F_mon)/12;
    
    if size(F_mon,1) == 1, F_mon = reshape(F_mon,numel(F_mon),1); end
    
    N_mon = numel(F_mon);
    for ct = 1:N_mon
        if ct == 1
            A(ct,1:2) = [7 1]/8;
        elseif ct == N_mon
            A(ct,ct-1:ct) = [1 7]/8;
        else
            A(ct,ct-1:ct+1) = [1 6 1]/8;
        end
    end
    
    F = A\F_mon;

    original_time        = (1+1/(12*2)):1/12:P.N_yr+1;
    target_time          = (1+1/(720*2)):1/720:P.N_yr+1;
    F_recons             = interp1(original_time,F,target_time,'linear');
    F_recons(1:30)       = F_recons(31);
    F_recons(end-29:end) = F_recons(end-30);
    
    if size(F_recons,1) == 1, F_recons = F_recons';  end
end

